Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Inventia secolului din Afganistan?

G84 - pro și contra

Masina de familie,buget 11000-120...

In ce situatii cereti o a doua op...
 DigiMobil - IP public?

Glet de finisaj peste chit acrili...

La multi ani @Passenger001!

La multi ani @barbosa1bis!
 La multi ani @MikeSpike!

Cum curat gletul de pe perete

Soluție incalzire apartament...

Culori fire la boxele de jogger
 Autorizatie Birou Acte Auto

Parbriz defect

Ajutor cercetare lucrare de diser...

M-am culcat cu un tip și apo...
 

Parser XML

- - - - -
  • Please log in to reply
21 replies to this topic

#1
filip

filip

    Junior Member

  • Grup: Members
  • Posts: 164
  • Înscris: 27.01.2004
Cum pot sa parsez o pagina xml?
De exemplu: http://www.bloombiz.ro/xml/news.xml ..
am incercat cu un parser rss dar nu a mers.. e ceva ce imi scapa si nu stiu ce ma poate ajuta cineva...?

#2
UnuSimplu

UnuSimplu

    Member

  • Grup: Members
  • Posts: 395
  • Înscris: 04.02.2004
A parsa inseamna a analiza nodurile si atributele...

Ce vrei tu defapt?
Daca se deschide in IE atunci pagina e realizata corect... deci a trecut de parsare...

#3
pstdgt

pstdgt

    Monseurizat

  • Grup: Administrators
  • Posts: 5,849
  • Înscris: 06.02.2002
Cu un parser RSS nici nu avea cum sa mearga.. ala e un XML cu stylesheet, dar nu respecta standardul RSS.

#4
filip

filip

    Junior Member

  • Grup: Members
  • Posts: 164
  • Înscris: 27.01.2004
eu vreau spre exemplu sa fac o lista de genul:
stire1
stire2
...

Cum se poate?

#5
pstdgt

pstdgt

    Monseurizat

  • Grup: Administrators
  • Posts: 5,849
  • Înscris: 06.02.2002
Urmareste si tu structura xml-ului aluia si scrie un script care interpreteaza structura aia (tip: use regular expressions)

#6
mr.fred

mr.fred

    Moderator

  • Grup: Senior Members
  • Posts: 5,137
  • Înscris: 29.01.2004
uite aici un tutorial bun.

#7
evilone

evilone

    Senior Member

  • Grup: Senior Members
  • Posts: 3,521
  • Înscris: 14.12.2003
Daca vrei doar sa afisezi informatiile alea nu are rost sa-ti bati tu capul cu parsingul. Foloseste functiile XSLT.

#8
filip

filip

    Junior Member

  • Grup: Members
  • Posts: 164
  • Înscris: 27.01.2004
Ceva detalii poate sa imi ofere cineva? Unde aflu mai multe despre XSLT?

#9
moartea

moartea

    Senior Member

  • Grup: Senior Members
  • Posts: 2,158
  • Înscris: 18.05.2003
http://www.google.co...oe=utf-8&q=xslt

#10
mr.fred

mr.fred

    Moderator

  • Grup: Senior Members
  • Posts: 5,137
  • Înscris: 29.01.2004

Quote

Originally posted by filip
Ceva detalii poate sa imi ofere cineva? Unde aflu mai multe despre XSLT?

Ai incercat sa citesti tutorialul? E chiar super. Eu am implementat chestia intr-unul din site-urile mele.

#11
evilone

evilone

    Senior Member

  • Grup: Senior Members
  • Posts: 3,521
  • Înscris: 14.12.2003
XSLT este de departe cea mai simpla solutie in cazul asta. Singura problema este ca trebuie sa inveti ceva XSLT si XPath intai, dar n-o sa regreti :)

Pentru tutoriale vezi www.w3schools.com

#12
Gizmo

Gizmo

    Member

  • Grup: Members
  • Posts: 624
  • Înscris: 12.09.2003
Mai uite aici un tutorial scurt in romana ...

Attached Files

  • Attached File  xsl.pdf   149.43K   28 downloads


#13
Erwin

Erwin

    Member

  • Grup: Members
  • Posts: 851
  • Înscris: 13.09.2003
Cum spunea si "pstdgt" http://www.bloombiz.ro/xml/news.xml nu prea e xml.

Va trebui sa scrii codul de mana in php sau javascript.

Uite un cod sursa de javascript (trebuie doar sa-l modifici pt. ce-ti trebe').

<html>



<script LANGUAGE=Javascript>


function getrss(rsslink) {
var newxml = document.createElement("XML");
newxml.async = false;
newxml.load(rsslink);

var sitetitle=newxml.selectNodes( "//channel" ).item( 0 ).selectSingleNode( "title" ).text
var strHTML = "";

var newsitems = newxml.selectNodes( "//item" );

// Walk the list of nodes to generate the appropriate HTML
for( var i = 0; i < newsitems.length; i++ ) {


strHTML += "
";
strHTML += "";
}

strHTML += "
"+sitetitle+"
strHTML += " title='"+ newsitems.item( i ).selectSingleNode( "description" ).text + "'>";
strHTML += newsitems.item( i ).selectSingleNode( "title" ).text + "
";
return strHTML;
}
</script>



<body>



<script>
Newsdotcomrss.innerHTML=getrss('http://www.agroinfo.ro/export_content/anunturi_agricole.rss');
</script>






Voi reveni si cu o varianta php daca ai nevoie

#14
MadMax

MadMax

    Pike hunter

  • Grup: Senior Members
  • Posts: 2,361
  • Înscris: 14.05.2003

Quote

Originally posted by eRwin
Cum spunea si "pstdgt" http://www.bloombiz.ro/xml/news.xml nu prea e xml.


Error! Este EXACT un XML! Doar ca nu e standard RSS...

Pentru parsing ti-e de-ajuns un parser SAX (vezi exemplul din manualul PHP - cauta Example 1. Show XML Element Structure). Recomand SAX deoarece DOM-ul ocupa mai multa memorie...si in plus la SAX nu trebuie sa cunosti XPath.

#15
Erwin

Erwin

    Member

  • Grup: Members
  • Posts: 851
  • Înscris: 13.09.2003
Ma referam la standard.

Oricum mersi pentru corectie!

#16
MadMax

MadMax

    Pike hunter

  • Grup: Senior Members
  • Posts: 2,361
  • Înscris: 14.05.2003

Quote

Originally posted by eRwin
Ma referam la standard.


Standard of what? :D
E standard XML, versiunea 1.0, cu definitie de DTD, cu element root (news), etc. De acord ca nu e standard RSS!

#17
Erwin

Erwin

    Member

  • Grup: Members
  • Posts: 851
  • Înscris: 13.09.2003
Nu fi Mad..... Max, cred ca ai priceput foarte bine!
Sau vrei sa ma-npusc din cauza unei greseli?
Cred ca ne-am abatut destul de la topic ca sa mai continuam ciondaneala.

Pace?

#18
pstdgt

pstdgt

    Monseurizat

  • Grup: Administrators
  • Posts: 5,849
  • Înscris: 06.02.2002

Quote

Originally posted by eRwin
Cum spunea si "pstdgt" http://www.bloombiz.ro/xml/news.xml nu prea e xml.


Am zis ca E XML, dar nu respecta standardul RSS.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate